home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / cocktail / lalr.lha / lalr / src / Compress.md < prev    next >
Text File  |  1992-08-18  |  2KB  |  60 lines

  1. (* compress parse table *)
  2.  
  3. (* $Id: Compress.md,v 1.4 1992/08/12 06:53:34 grosch rel $ *)
  4.  
  5. (* $Log: Compress.md,v $
  6.  * Revision 1.4  1992/08/12  06:53:34  grosch
  7.  * extend parse table TComb over 65535 bytes
  8.  *
  9.  * Revision 1.3  1992/08/07  15:22:49  grosch
  10.  * allow several scanner and parsers; extend module Errors
  11.  *
  12.  * Revision 1.2  1991/11/21  14:53:14  grosch
  13.  * new version of RCS on SPARC
  14.  *
  15.  * Revision 1.1  90/06/12  16:53:47  grosch
  16.  * renamed main program to lalr, added { } for actions, layout improvements
  17.  * 
  18.  * Revision 1.0     88/10/04  14:35:57  vielsack
  19.  * Initial revision
  20.  * 
  21.  *)
  22.  
  23. DEFINITION MODULE Compress;
  24.  
  25. FROM Automaton IMPORT tIndex, tStateIndex, Infinite, Infinite2;
  26. FROM Gen IMPORT tTableLine;
  27.  
  28.   TYPE
  29.     TableElmt    = SHORTCARD;
  30.     ControlType = RECORD Check, Next: TableElmt; END;
  31.  
  32.   VAR
  33.     Control    : POINTER TO ARRAY [0..Infinite2] OF ControlType;
  34.     Base    : POINTER TO ARRAY [0..Infinite] OF TableElmt;
  35.     Default    : POINTER TO ARRAY [0..Infinite] OF TableElmt;
  36.     ControlCount,
  37.     BaseCount    ,
  38.     DefaultCount: LONGINT;
  39.     TableMax    : tIndex;
  40.     TableSize    : tIndex;
  41.  
  42.     NNext    : POINTER TO ARRAY [0..Infinite] OF TableElmt;
  43.     NBase    : POINTER TO ARRAY [0..Infinite] OF TableElmt;
  44.     NNextCount    : LONGINT;
  45.     NBaseCount    : LONGINT;
  46.     NTableMax    : tIndex;
  47.     NTableSize    : tIndex;
  48.  
  49.     ElmtSize    : TableElmt;
  50.  
  51.     Filling    : CARDINAL;
  52.     NFilling    : CARDINAL;
  53.  
  54. PROCEDURE InitCompressTable;
  55. PROCEDURE CompressTableLine (State: tStateIndex; DefaultState: tStateIndex; VAR TableLine: tTableLine);
  56. PROCEDURE InitCompressNTable;
  57. PROCEDURE CompressNTableLine (State: tStateIndex; VAR TableLine: tTableLine);
  58.  
  59. END Compress.
  60.